package cn.lcsjsxy.yxz.day15.interface_.Interfaceexercises;
    //

    /*
    定义一个ComparableCircle类，继承Circle类并且实现CompareObject接口。
    在ComparableCircle类中给出接口中方法compareTo的实现体，用来比较两个圆的半径大小。
    */

public class ComparableCircle extends Circle implements CompareObject {

    public ComparableCircle(double radius){
        super(radius);
    }

    @Override
    public int compareTo(Object o) {
        if (this == o){
            return 0;
        }
//        正确
//        1.
        if (o instanceof ComparableCircle){
            ComparableCircle c = (ComparableCircle)o;
//            if (this.getRadius() > c.getRadius()){
//                return 1;
//            }else if(this.getRadius() < c.getRadius()){
//                return -1;
//            }else {
//                return 0;
//            }
//          或
//        .2
//          当属性radius声明为Doubl类型时,可以调用包装类的方法
            return this.getRadius().compareTo(c.getRadius());

//            错误
//            return (int) (this.getRadius() - c.getRadius()); //强制转换会丢失精度
        }else {
            return 0;
//            throw new RuntimeException("传入的数据类型不匹配");
        }

    }

}
